﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using BusinessObjects.BO_GetObjects;
using LibraryO2S;
using BusinessObjects;

public partial class controls_admin_ModuleTypeAction : Pages_Base
{
    protected void Page_Load(object sender, EventArgs e)
    {
        base.removeHGC(divMessage);
        if (!IsPostBack)
        {
            loadTypeModule();
            ddlModuleType_SelectedIndexChanged(null, null);
        }
    }
    protected void loadTypeModule()
    {
        try
        {
            base.OpenConnection();
            ddlModuleType.Items.Clear();
            btnDel.Visible = false;
            ddlModuleType.Items.Add(new ListItem("--- Loại module mới ---", "-1"));
            DataTable objDT = BO_Module_Type.SelectAll(1);
            if (objDT != null && objDT.Rows.Count > 0)
            {
                ddlModuleType.DataSource = objDT;
                ddlModuleType.DataTextField = "TYPE_DESCRIPTION";
                ddlModuleType.DataValueField = "TYPE_ID";
                ddlModuleType.DataBind();
            }
        }
        catch { }
        finally { base.CloseConnection(); }
    }


    protected void btnReset_Click(object sender, EventArgs e)
    {
        txtDescription.Text = "";
        txtType.Text = "";
    }
    protected void btnUpdate_Click(object sender, EventArgs e)
    {
        try
        {
            base.OpenConnection();
            DataTable admin = (DataTable)Session["admin"];
            string module_name = txtType.Text.Trim();
            string description = txtDescription.Text.Trim();
            string result = String.Empty;
            string t_id = ddlModuleType.SelectedValue;
            if (t_id.Equals("-1"))
                result = BO_Module_Type.Insert(module_name, description, DateTime.Now,
                    admin.Rows[0]["USER_NAME"].ToString(), DateTime.Now, "", true);
            else
                result = BO_Module_Type.Update(Convert.ToInt32(t_id), module_name, description, DateTime.Now,
                    admin.Rows[0]["USER_NAME"].ToString(), DateTime.Now, "", true);
            if (result.Equals("0"))
                divMessage.InnerHtml = O2S_Message.Error("Thông Báo", "Chưa thực hiện được, vui lòng trở lại sau !");
            else
                divMessage.InnerHtml = O2S_Message.Success("Thông Báo", "Thực hiện thành công !");
            loadTypeModule();
        }
        catch (Exception ex)
        {
            divMessage.InnerHtml = O2S_Message.Error("Lỗi", "Phát hiện lỗi: <br />" + ex.Message);
        }
        finally { base.CloseConnection(); }
    }

    protected void ddlModuleType_SelectedIndexChanged(object sender, EventArgs e)
    {
        try
        {
            base.OpenConnection();
            if (ddlModuleType.SelectedValue.Equals("-1"))
            {
                txtType.Text = "";
                txtDescription.Text = "";
                btnDel.Visible = false;
            }
            else
            {
                btnDel.Visible = true;
                DataTable dtModuleType = BO_Module_Type.Search(Convert.ToInt32(ddlModuleType.SelectedValue));
                txtType.Text = dtModuleType.Rows[0]["TYPE_NAME"].ToString();
                txtDescription.Text = dtModuleType.Rows[0]["TYPE_DESCRIPTION"].ToString();
                title.InnerText = "Đổi tên loại module " + dtModuleType.Rows[0]["TYPE_DESCRIPTION"].ToString();
                //}
            }
        }
        catch { }
        finally { base.CloseConnection(); }
    }
    protected void btnDel_Click(object sender, EventArgs e)
    {
        bool result = BO_Module_Type.Delete(Convert.ToInt32(ddlModuleType.SelectedValue));
        ddlModuleType.SelectedValue = "-1";
        ddlModuleType_SelectedIndexChanged(null, null);
        loadTypeModule();
        if (!result)
            divMessage.InnerHtml = O2S_Message.Error("Thông Báo", "Chưa thực hiện được, vui lòng trở lại sau !");
        else
            divMessage.InnerHtml = O2S_Message.Success("Thông Báo", "Thực hiện thành công !");
    }
}
